/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package datos;

import MYSQLConection.OperacionesDB;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import negocio.RolPago;

/**
 *
 * @author Adrian
 */
public class DaoRolPago {

    private static DaoRolPago instance;

    private DaoRolPago() {
    }

    public static DaoRolPago getInstance() {
        if (instance == null) {
            return instance = new DaoRolPago();
        }
        return instance;
    }

    public boolean registrar(int id, String cedulaEmpleado, float ingresos, float descuentos, float total) throws SQLException {

        OperacionesDB db = new OperacionesDB();
        String query = "insert into rolPago values('" + id + "'," + "'" + cedulaEmpleado + "'," + "'" + ingresos + "'," + "'" + descuentos + "'," + "'" + total + "')";
        if (db.ingreso(query)) {
            return true;
        } else {
            return false;
        }

    }

    public void Modificar(int id, String cedulaEmpleado, float ingresos, float descuentos, float total) throws SQLException {
        OperacionesDB db = new OperacionesDB();
        String query = "UPDATE rolPago SET id='" + id + "',cedula='" + cedulaEmpleado + "',ingresos=" + ingresos + ",descuentos=" + descuentos + ",total=" + total;
        db.modificacioneliminacion(query);
        db.cerrarConexion();

    }

    public void Eliminar(int id) throws SQLException {

        OperacionesDB db = new OperacionesDB();
        String query2 = "delete from rolPago where id=" + id;
        db.modificacioneliminacion(query2);
        db.cerrarConexion();

    }

    public ArrayList<RolPago> listar() throws SQLException {
        OperacionesDB db = new OperacionesDB();
        ArrayList<RolPago> users = new ArrayList();
        String query = "select * from rolPago";
        ResultSet resultado = db.seleccion(query);
        RolPago rolPago = null;
        while (resultado.next()) {
            rolPago = new RolPago(resultado.getInt(1), resultado.getString(2), resultado.getFloat(3), resultado.getFloat(4), resultado.getFloat(5));
            users.add(rolPago);
        }
        db.cerrarConexion();
        return users;

    }

        public ArrayList<RolPago> listarUsuario(String cedula) throws SQLException {
        OperacionesDB db = new OperacionesDB();
        ArrayList<RolPago> users = new ArrayList();
        String query = "select * from rolPago where cedula='" + cedula+"'";
        ResultSet resultado = db.seleccion(query);
        RolPago rolPago = null;
        while (resultado.next()) {
            rolPago = new RolPago(resultado.getInt(1), resultado.getString(2), resultado.getFloat(3), resultado.getFloat(4), resultado.getFloat(5));
            users.add(rolPago);
        }
        db.cerrarConexion();
        return users;

    }
    
    
    public RolPago Buscar(String cedula) throws SQLException {
        OperacionesDB db = new OperacionesDB();

        String query = "select * from rolPago where id=" + cedula;
        ResultSet resultado = db.seleccion(query);
        RolPago user = null;
        while (resultado.next()) {

            user = new RolPago(resultado.getInt(1), resultado.getString(2), resultado.getFloat(3), resultado.getFloat(4), resultado.getFloat(5));

        }
        db.cerrarConexion();

        return user;

    }

    public boolean ExisteUsuario(String cedula) throws SQLException {
        OperacionesDB db = new OperacionesDB();
        int cont = 0;
        String query = "select * from rolPago where id=" + cedula;
        ResultSet resultado = db.seleccion(query);
        while (resultado.next()) {
            cont++;
        }
        db.cerrarConexion();
        if (cont != 0) {
            return true;
        } else {
            return false;
        }

    }
}
